package com.cloud.business.entity.sys;

import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.annotation.*;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import com.baomidou.mybatisplus.extension.handlers.FastjsonTypeHandler;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import org.springframework.format.annotation.DateTimeFormat;

import java.io.Serializable;

import com.cloud.business.common.CommonTimeZone;

import java.math.BigDecimal;
import java.util.Date;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

/**
 * 系统用户 实体映射类
 * Copyright: Copyright (C) 2020 DLANGEL, Inc. All rights reserved.
 * Company: 大连安琪科技有限公司
 * AR模式可以继承 extends Model<SysUser>
 *
 * @author yuf
 * @since 2020-7-1 18:46:31
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@ApiModel(value = "SysUser对象", description = "系统用户 ")
@TableName(autoResultMap = true)
public class SysUser {

    private static final long serialVersionUID = 1595399680961L;

    @TableId(value = "object_id", type = IdType.AUTO)
    @ApiModelProperty(name = "objectId", value = "base-主键")
    private Integer objectId;
    @TableLogic
    @ApiModelProperty(name = "isDeleted", value = "base-删除标志")
    private Integer isDeleted;
    @ApiModelProperty(name = "pid", value = "base-上级id")
    private Integer pid;
    @ApiModelProperty(name = "sort", value = "base-排序")
    private Integer sort;
    @ApiModelProperty(name = "createUserId", value = "base-创建人")
    private Integer createUserId;
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = CommonTimeZone.TIMEZONE)
    @ApiModelProperty(name = "createTime", value = "base-创建时间")
    private Date createTime;
    @ApiModelProperty(name = "modificationUserId", value = "base-修改人")
    private Integer modificationUserId;
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = CommonTimeZone.TIMEZONE)
    @ApiModelProperty(name = "modificationTime", value = "base-修改时间")
    private Date modificationTime;
    @ApiModelProperty(name = "userName", value = "用户名")
    private String userName;
    @ApiModelProperty(name = "password", value = "密码")
    private String password;
    @ApiModelProperty(name = "nickName", value = "昵称")
    private String nickName;
    @ApiModelProperty(name = "trueName", value = "真实名字")
    private String trueName;
    @ApiModelProperty(name = "headImgUrl", value = "头像")
    private String headImgUrl;
    @ApiModelProperty(name = "mobileNumber", value = "电话")
    private String mobileNumber;
    @ApiModelProperty(name = "emailAddress", value = "邮箱")
    private String emailAddress;
    @ApiModelProperty(name = "province", value = "省")
    private Integer province;
    @ApiModelProperty(name = "city", value = "市")
    private Integer city;
    @ApiModelProperty(name = "district", value = "区")
    private Integer district;
    @ApiModelProperty(name = "address", value = "地址")
    private String address;
    @ApiModelProperty(name = "enumSex", value = "性别")
    private String enumSex;
    @ApiModelProperty(name = "birthday", value = "生日")
    private String birthday;
    @ApiModelProperty(name = "structId", value = "部门")
    private Integer structId;
    @ApiModelProperty(name = "positionId", value = "职位")
    private Integer positionId;
    @ApiModelProperty(name = "remark", value = "备注")
    private String remark;
    @ApiModelProperty(name = "enumType", value = "类型")
    private String enumType;
    @ApiModelProperty(name = "isEnable", value = "是否可用")
    private Boolean isEnable;
    @ApiModelProperty(name = "age", value = "年龄")
    private Integer age;
    @ApiModelProperty(name = "income", value = "收入评估")
    private BigDecimal income;
    @ApiModelProperty(name = "family", value = "家庭状况")
    private String family;
    @ApiModelProperty(name = "positionName", value = "职业工作")
    private String positionName;
    @ApiModelProperty(name = "liveAddress", value = "居住区域")
    private String liveAddress;
    @ApiModelProperty(name = "lifeAddress", value = "生活区域")
    private String lifeAddress;
    @ApiModelProperty(name = "nowHouse", value = "现住小区")
    private String nowHouse;
    @ApiModelProperty(name = "visitProject", value = "到访项目")
    private String visitProject;
    @ApiModelProperty(name = "visitDate", value = "到访日期")
    private String visitDate;
    @ApiModelProperty(name = "recordDate", value = "录入日期")
    private String recordDate;
    @ApiModelProperty(name = "counselor", value = "置业顾问")
    private String counselor;
}
